Computational analysis of digital data that correspond to images is of great use in a variety of applications that include medical imaging, artificial intelligence, biometric identification, defect detection in industrial applications, and various other fields. Image data may be two-dimensional, such as image data corresponding to a photograph, or three-dimensional image data. One common example of three-dimensional image data is image data generated by various medical imaging devices including magnetic resonance imaging (MRI) devices. These image data depict physical structures, such as organs of a subject undergoing an MRI, in a series of two-dimensional images taken at various locations along a third axis extending through the subject. The third dimension in three-dimensional image data may also represent a temporal dimension instead of a spatial dimension. For example, a video recording includes a multiple frames, where each frame is a two-dimensional image taken at a particular time. The three-dimensional image data represent multiple frames of the video taken at different times. In either case, the three-dimensional image data are often analyzed as an arrangement of “pixel” values. Each pixel contains image data corresponding to a single position in the three-dimensional space. Depending upon the contents of the image data, each pixel is assigned one or more values, typically numeric values, that represent information collected for the image at the location that the pixel represents.
Many different algorithms and techniques may be applied to analyze and manipulate image data, including three-dimensional image data. One operation to perform on an image is known as “image segmentation.” An image segmentation operation groups various pixels in the image together into two or more segments. These pixels are grouped together based on some shared characteristic of the image data in the selected pixels. Various segmentation techniques are known to the art, and one such technique is known as Bayesian Expectation Maximization/Maximization of Posterior Marginals (EM/MPM) segmentation. EM/MPM technique includes two advantages over other segmentation techniques known in the art. First, EM/MPM generates estimates for Gaussian mean and variance for the Gaussian distributions of variations in the measured brightness values of image data corresponding to each pixel. This enables the technique to reduce inaccuracies introduced by noise present in image data. Second, the EM/MPM technique analyzes image data for each pixel with respect to neighboring pixels in the three-dimensional image data. In many images, a particular pixel has a high likelihood to have a brightness value that is the same or similar to the majority of its neighbors, and analyzing the neighbors reduces the effects of single-pixel errors in the image data. The EM/MPM technique performs a statistical cost-minimization technique. The “cost” is the estimated likelihood that a given class identifier for a group of pixels has errors. The EM/MPM technique groups pixels into segments using segment distributions that are determined to have the lowest probability of errors.
While various segmentation techniques are known to the art, many computational challenges limit the use of these techniques in practical applications. In particular, currently available computing systems may take a substantial amount of time to segment image data, particularly three-dimensional image data. As is well known, the size of image data representing a three-dimensional image expands as a cube of the number of pixels in each of the three dimensions. Thus, a single three-dimensional image may grow to be many gigabytes in size, and the sizes of the images will continue to increase at a cubic rate with the development of higher resolution imaging devices. Iterative image analysis techniques such as the MPM portion of the EM/MPM technique require multiple operations to be performed on each pixel in the image data. Standard central processing units (CPUs) known in the art and even parallelized processors such as general-purpose graphical processing units (GPGPUs) may take a substantial amount of time to perform image analysis operations due to the need to exchange large amounts of data with memory, such as random access memory (RAM). Additionally, iterative techniques such as the MPM technique introduce data dependencies that reduce the effectiveness of parallel processing devices since one iteration must complete to provide the data used in the subsequent iteration. The amount of time needed to load and store data and the difficulties in parallelizing image processing operations render conventional computing devices impractical for many time sensitive imaging applications. Consequently, improvements to computing architectures and methods of image analysis that reduce the time needed to perform image analysis operations on image data are beneficial.